Overview
JoggAI sends HTTP POST requests to your webhook endpoint when events occur (like video completion). This eliminates the need for polling and provides instant notifications.Webhook Limit: Each user can create up to 20 webhook endpoints.
Real-Time Updates
Get notified instantly when videos complete
Reduced API Calls
No need to poll for status
Better UX
Respond to events immediately
Scalable
Handle high volumes efficiently
Workflow Overview
Webhook requests expect a
200 OK response within 5 seconds. Non-2xx responses trigger automatic retries.Quick Start
Step 1: Add Webhook Endpoint
Save the
secret - you’ll use it to verify webhook authenticity!Step 2: Verify Webhook Signature
Always verify that webhooks come from JoggAI:Go
Go
Python
Python
Node.js
Node.js
Bash
Bash
Webhook Events
Available Events
| Event | Description | When Triggered |
|---|---|---|
generated_video_success | Video generation succeeded | Video is ready to download |
generated_video_failed | Video generation failed | An error occurred during generation |
generated_avatar_video_success | Avatar video generation succeeded | Video is ready to download |
generated_avatar_video_failed | Avatar video generation failed | An error occurred during generation |
generated_product_video_success | Product video generation succeeded | Video is ready to download |
generated_product_video_failed | Product video generation failed | An error occurred during generation |
generated_template_video_success | Template video generation succeeded | Video is ready to download |
generated_template_video_failed | Template video generation failed | An error occurred during generation |
generated_translate_video_success | Video translation succeeded | Translated video is ready |
generated_translate_video_failed | Video translation failed | An error occurred during translation |
create_avatar_success | Avatar creation succeeded | Avatar is ready to use |
create_avatar_failed | Avatar creation failed | An error occurred during avatar creation |
generated_photo_avatar_success | Photo avatar creation succeeded | Avatar is ready to use |
generated_photo_avatar_failed | Photo avatar creation failed | An error occurred during avatar creation |
generated_product_avatar_success | Product avatar creation succeeded | Avatar is ready to use |
generated_product_avatar_failed | Product avatar creation failed | An error occurred during avatar creation |
generated_script_success | AI script generation succeeded | Scripts are ready to use |
generated_script_failed | AI script generation failed | An error occurred during script generation |
generated_image_success | Image generation succeeded | Generated images are ready |
generated_image_failed | Image generation failed | An error occurred during image generation |
generated_motion_success | Motion generation succeeded | Generated motion video is ready |
generated_motion_failed | Motion generation failed | An error occurred during motion generation |
Event Payloads
Video Generation Success
Video Generation Success
Video Generation Failed
Video Generation Failed
Avatar Creation Success
Avatar Creation Success
Image Generation Success
Image Generation Success
Image Generation Failed
Image Generation Failed
Motion Generation Success
Motion Generation Success
Motion Generation Failed
Motion Generation Failed
Managing Webhooks
List All Webhooks
List All Webhooks
Update Webhook
Update Webhook
Delete Webhook
Delete Webhook
List Available Events
List Available Events
Security Requirements
Request Headers
Security Checklist
- ✅ All webhook URLs must use HTTPS
- ✅ Verify
X-Webhook-Signatureheader on every request - ✅ Use HMAC SHA-256 with your secret key
- ✅ Signature is computed on raw request body
- ✅ Use constant-time comparison to prevent timing attacks
- ✅ Keep webhook secret secure (environment variables)
- ✅ Rotate secrets periodically

